/* 
 * File:   fileOperations.h
 * Author: PprrATeekK
 *
 * Created on October 22, 2012, 5:24 PM
 */


#include "naryTree.h"


/*/////////////////////////////////////////////////////////////////////////////
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//Constants//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
////////////////////////////////////////////////////////////////////////////*/

# define addfile_SUCCESS 0
# define addfile_FAILURE 1
# define listfile_SUCCESS 0
# define listfile_FAILURE 1
# define updatefile_SUCCESS 0
# define updatefile_FAILURE 1
# define removefile_SUCCESS 0
# define removefile_FAILURE 1
# define movefile_SUCCESS 0
# define movefile_FAILURE 1
# define copyfile_SUCCESS 0
# define copyfile_FAILURE 1
# define exportfile_SUCCESS 1
# define exportfile_FAILURE 0
# define searchfile_SUCCESS 1
# define searchfile_FAILURE 0


/*/////////////////////////////////////////////////////////////////////////////
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~//Function Prototypes//~~~~~~~~~~~~~~~~~~~~~~~~~~~
////////////////////////////////////////////////////////////////////////////*/


// Function to add file, available on HD, to the VFS //
int addFile(char* destDirPath,char* fileName,char* dataFilePath);

// List all the files inside the given directory, and output the results to file on HD //
int listFile(char* filePath, char* dataFilePath);

// Update the file present on VFS, with one available on HD //
int updateFile(char* dirPathInVFS, char* sourceFileAddress);

// Delete a file from VFS //
int removeFile(char* fileAddress);

// Move file from one directory to another directory //
int moveFile(char* sourceFileAddress, char* destDirAddress);

// Create a copy of file at destination Directory Address //
int copyFile(char* sourceFileAddress, char* destDirAddress);

// Copy file from VFS to HD //
int exportFile(char* sourceFileAddress, char* destFileAddress);

// Search file in VFS //
int searchFile(char* fileName,char* outputFileName);


